#ifndef HLADATA_PARSER_H
#define HLADATA_PARSER_H

#include <string>
#include <list>
#include <set>
using namespace std;

struct Sequence
{
    string name;
    set<string> peptides;

    //bool operator == (const Sequence& other) const { return name == other.name; }
};

struct Haplotype
{
    string name;
    list<Sequence> sequences;

    bool operator == (const Haplotype& other) const { return name == other.name; }
};

struct Group
{
    string name;
    list<Haplotype> haplotypes;
};

typedef list<Group> HlaData;

bool parseHlaData(const char* file, HlaData& data);

#endif

